From Cppreference
|
|
|
|
|
|
|
| template< class T > class shared_ptr;
|
| (C++11 feature)
|
|
|
|
std::shared_ptr is a smart pointer that manages lifetime of an object, typically allocated with new. Several shared_ptr objects may manage the same object; the object is destroyed when the last remaining shared_ptr pointing to it is destroyed or reset. The object is destroyed using delete-expression or a custom deleter that is supplied to shared_ptr during construction.
[edit] Member types
|
|
| Member type
| Definition
|
|
|
| element_type
| T
|
[edit] Member functions
|
|
|
| constructs new shared_ptr (public member function)
|
|
|
|
| destructs the owned object if no more shared_ptrs link to it (public member function)
|
|
|
|
| assigns the shared_ptr (public member function)
|
Modifiers
|
|
|
|
| replaces the managed object (public member function)
|
|
|
|
| swaps the managed objects (public member function)
|
Observers
|
|
|
|
| returns a pointer to the managed object (public member function)
|
|
|
|
| dereferences pointer to the managed object (public member function)
|
|
|
|
| returns the number of shared_ptr objects referring to the same managed object (public member function)
|
|
|
|
| checks whether the managed object is managed only by the current shared_ptr instance (public member function)
|
|
|
|
| checks if there is associated managed object (public member function)
|
|
|
|
| provides owner-based ordering of shared pointers (public member function)
|
[edit] Non-member functions
|
|
|
| creates a shared pointer that manages a new object (function template)
|
|
|
|
| creates a shared pointer that manages a new object allocated using an allocator (function template)
|
|
|
|
| applies static_cast, dynamic_cast or const_cast to the type of the managed object (function template)
|
|
|
|
| returns the deleter of specified type, if owned (function template)
|
|
|
|
| compares with another shared_ptr or with nullptr (function template)
|
|
|
|
| outputs the value of the managed pointer to an output stream (function template)
|
|
|
|
| specializes the std::swap() algorithm (function template)
|
|
|
|
| specializes atomic operations (function template)
|
[edit] Helper classes